A 3D representation of a video can be obtained by multiplexing two views (stereo format) of the same scene, recorded by two different cameras of a single stereoscopic device.
Two types of coding, MFC and MVC (for “Multiview Frame-compatible Coding” and “Multiview Video Coding”) are typically used to encode images from two different views by exploiting redundancies between the two views.
Although today's market is dominated by the stereo coding format, the development of new 3D video services such as 3DTV (for “3D Television”) or FTV (for “Free-viewpoint Television”) require a fluid depiction of three-dimensional scenes, which can be obtained by simultaneously multiplexing more than two views of a 3D device. For this purpose, at least three videos from different points of view can be captured, encoded, and transmitted in MVV (for “MultiView Video”) format, and MVC coding can be used to encode these videos. However, the cost associated with MVC coding is high, especially when the number of viewpoints is high.
A new video coding format, called MVD (for “MultiView+Depth”), is currently being developed. In this format, depth cameras are used in addition to texture (color) cameras. Each texture video is associated with a depth video. After coding and transmission, the reconstructed texture and depth videos can be sent to a synthesizer which generates the required number of intermediate views. The advantage associated with depth images from depth videos is that they are only composed of a luminance channel and that they primarily consist of smooth regions separated by edges. Thus, they are less costly to encode than texture images issuing from texture videos. In addition, inter-view correlations (between two texture images, or between two depth images) as well as inter-component correlations (between a texture image and a depth image) can be utilized by the MVD format to improve coding efficiency, for example using a 3DVC (“3D Video Coding”) codec.
To improve coding efficiency, the standards include a prediction of coding information for a current block, based on coding information for blocks previously encoded and then decoded.
Such coding information can be, for example, a motion vector. Thus, the AMVP (for “Advanced Motion Vector Prediction”) standard introduces a list of predictors for the motion vector of the current block. Only the difference between the motion vector of the current block being coded and the best predictor (according to a rate-distortion criterion), and an index indicating the best predictor determined from among the list of predictors, are sent to the decoder, thereby reducing the cost of transmitting information related to the motion vector of the current block. Prediction is also used to reduce the cost of transmitting information relating to an Intra coding mode. Intra coding consists of coding a block of an image based on one or more encoded then decoded blocks from this same image. Several Intra modes are defined for this purpose, each Intra mode generally corresponding to a prediction direction. Some Intra modes also consist of mean calculations performed on blocks neighboring the current block. These Intra modes are well known to those skilled in the art are not described in detail herein.
Thus, on the basis of the Intra coding, the “Most Probable Mode” or MPM is deduced for a block of an image, from the Intra modes of neighboring blocks of the same image. The MPM is then used as a predictor for coding the Intra mode selected for coding the current block.
Inheritance of information is also used to improve coding efficiency. In HEVC coding (“High Efficiency Video Coding”), a “Merge” mode allows the current block to directly inherit the motion vector and the index of the reference image for a neighboring block or for a corresponding block in a previous image (previous in the temporal sense). The inherited motion vector then does not need to be encoded, as the same principle can be applied during decoding. However, use of the Merge mode depends on a chosen rate-distortion of the coder and this therefore requires signaling, in order to inform the decoder that Merge mode was used for encoding. Such signaling is implemented by means of a “Merge” flag in the data sent to the decoder.
While the residual data between the current block and the block predicted using the inherited motion vector is determined and transmitted in “Merge” mode, in the “Skip” mode this residual data is not transmitted: the samples reconstructed in the decoder are themselves inherited from the block pointed to by the motion vector. “Skip” mode thus eliminates coding the residual data, but its use must still be signaled to the decoder.
In response to the requirements of the MPEG standard for 3D video coding (3DV), techniques employing both prediction and direct inheritance have been proposed.
The document “Description of 3D Video Coding Technology Proposal by Fraunhofer HHI (HEVC compatible configuration A)”, H. Schwarz et al, m22570, November 2011, proposes systematically adding an additional predictor to the list of predictors of the AMVP standard. The additional predictor is the motion vector of the block corresponding to the current block in an adjacent view (inter-view prediction). An inter-view prediction of residual data has also been introduced, in which the residual data of the block corresponding to the current block in the adjacent view is used to predict the residual data of the current block.
In addition, the document “Description of 3D video coding technology proposal by ETRI and Kwangwoon University”, G. Bang et al, m22625, in November 2011, introduced an additional prediction tool where the Intra mode chosen for a reference block in a texture image corresponding to a current block to be coded in the associated depth image (inter-component prediction) is added to a predetermined list of predictors in order to select the MPM for the current block to be coded in Intra mode in the depth image. In other words, the current block coded in this manner indirectly inherits the Intra mode chosen for the reference block.
Indirect inheritance was used in the document “Description of 3D Video Coding Technology Proposal by Fraunhofer HHI (HEVC compatible, configuration A)”, H. Schwarz et al, which introduced a motion parameter inheritance tool in which the entire partitioning structure and the motion vectors used, for a block of the texture image corresponding to the current block of the depth image, is used for the current block of the depth image. However, the inheritance must also be signalled to the decoder, to enable decoding the transmitted data.
Thus, regardless of the standard and type of coding used, the implementation of inheritance is determined by evaluating the rate-distortion constraints. Therefore, the selected coding mode using inheritance, when inheritance is used to code the current block, must be signaled to the decoder so that the decoder knows the choices that were made during coding.
A need therefore exists to improve the effectiveness of the techniques for encoding/decoding signals using inheritance of encoding/decoding information.